#ifndef CASOLIST_H
#define CASOLIST_H
#include "sentencia.h"
#include "tipodato.h"
class CasoList
{
public:
    CasoList(CasoList * next,vector<TipoDato*> tipodato,Sentencia *instrucciones);
    void setNext(CasoList * next);
    void setTipodato(vector<TipoDato*> tipodato);
    void setInstrucciones(Sentencia *instrucciones);
    CasoList * getNext();
    vector<TipoDato*> getTipodato();
    Sentencia* getInstrucciones();
    void setVariable(Tipo_ts* variable);
    Tipo_ts* getVariable();
    Tipo_ts * validarSemantica(Tabla_Simbolos *tabla_de_tipo,Tabla_Simbolos *tabla_de_varaible);
    string generarCodigo(GenerarVariable* var,Tabla_Simbolos *tabla_de_tipo,Tabla_Simbolos *tabla_de_varaible);
private:
    CasoList *next;
    vector<TipoDato*> tipodato;
    Sentencia *instrucciones;
    Tipo_ts* variable;
};

#endif // CASOLIST_H
